package com.ruoyi.supermarket.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品对象 product
 * 
 * @author 李其伟
 * @date 2023-08-11
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 商品货号 */
    @Excel(name = "商品货号")
    private String sku;

    /** 商品标题 */
    @Excel(name = "商品标题")
    private String title;

    /** 商品副标题 */
    @Excel(name = "商品副标题")
    private String subTitle;

    /** 图片 */
    @Excel(name = "图片")
    private String pic;

    /** 价格 */
    @Excel(name = "价格")
    private BigDecimal price;

    /** 关键字 */
    @Excel(name = "关键字")
    private String keywords;

    /** 分类主键 */
    @Excel(name = "分类主键")
    private Long categoryId;

    /** 店铺主键 */
    @Excel(name = "店铺主键")
    private Long shopId;

    /** 详情内容 */
    private String detailHtml;

    /** 上架状态 */
    @Excel(name = "上架状态")
    private Integer publishStatus;

    /** 上架时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "上架时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date publishTime;

    /** 销量 */
    @Excel(name = "销量")
    private Long sale;

    /** 画册图片 */
    private String albumPics;

    /** 排序 */
    @Excel(name = "排序")
    private Long sort;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private Integer auditStatus;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String auditRemark;

    /** 删除状态 */
    private Integer deleteStatus;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSku(String sku)
    {
        this.sku = sku;
    }

    public String getSku()
    {
        return sku;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setSubTitle(String subTitle) 
    {
        this.subTitle = subTitle;
    }

    public String getSubTitle() 
    {
        return subTitle;
    }
    public void setPic(String pic) 
    {
        this.pic = pic;
    }

    public String getPic() 
    {
        return pic;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setKeywords(String keywords) 
    {
        this.keywords = keywords;
    }

    public String getKeywords() 
    {
        return keywords;
    }
    public void setCategoryId(Long categoryId) 
    {
        this.categoryId = categoryId;
    }

    public Long getCategoryId() 
    {
        return categoryId;
    }
    public void setShopId(Long shopId) 
    {
        this.shopId = shopId;
    }

    public Long getShopId() 
    {
        return shopId;
    }
    public void setDetailHtml(String detailHtml) 
    {
        this.detailHtml = detailHtml;
    }

    public String getDetailHtml() 
    {
        return detailHtml;
    }
    public void setPublishStatus(Integer publishStatus) 
    {
        this.publishStatus = publishStatus;
    }

    public Integer getPublishStatus() 
    {
        return publishStatus;
    }
    public void setPublishTime(Date publishTime) 
    {
        this.publishTime = publishTime;
    }

    public Date getPublishTime() 
    {
        return publishTime;
    }
    public void setSale(Long sale) 
    {
        this.sale = sale;
    }

    public Long getSale() 
    {
        return sale;
    }
    public void setAlbumPics(String albumPics) 
    {
        this.albumPics = albumPics;
    }

    public String getAlbumPics() 
    {
        return albumPics;
    }
    public Long getSort() {
        return sort;
    }

    public void setSort(Long sort) {
        this.sort = sort;
    }

    public void setAuditStatus(Integer auditStatus) {
        this.auditStatus = auditStatus;
    }
    public Integer getAuditStatus() {
        return auditStatus;
    }

    public void setDeleteStatus(Integer deleteStatus) 
    {
        this.deleteStatus = deleteStatus;
    }

    public String getAuditRemark() {
        return auditRemark;
    }

    public void setAuditRemark(String auditRemark) {
        this.auditRemark = auditRemark;
    }

    public Integer getDeleteStatus()
    {
        return deleteStatus;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("sku", getSku())
            .append("title", getTitle())
            .append("subTitle", getSubTitle())
            .append("pic", getPic())
            .append("price", getPrice())
            .append("keywords", getKeywords())
            .append("categoryId", getCategoryId())
            .append("shopId", getShopId())
            .append("detailHtml", getDetailHtml())
            .append("publishStatus", getPublishStatus())
            .append("publishTime", getPublishTime())
            .append("sale", getSale())
            .append("albumPics", getAlbumPics())
            .append("sort", getSort())
            .append("auditStatus", getAuditStatus())
            .append("auditRemark", getAuditRemark())
            .append("deleteStatus", getDeleteStatus())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
